header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
  padding: 0 7vw;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8vw;
  color: white;
}
header .logo-light {
  display: block;
  width: 6em;
}
header .logo {
  display: none;
  width: 6em;
}
header.active {
  color: black;
}
header.active .logo-light {
  display: none;
}
header.active .logo {
  display: block;
}
header.active .nav-links a:after {
  background: black !important;
}
header.active::before {
  transform: translateY(0);
}
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  transform: translateY(-100%);
  transition: 0.5s ease;
  z-index: auto;
}
header .nav-left {
  display: flex;
  align-items: center;
  gap: 2em;
  z-index: 1;
}
header .nav-left .nav-links {
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1;
}
header .nav-left .nav-links a {
  position: relative;
  text-decoration: none;
  display: inline-block;
  transition: color 0.3s;
}
header .nav-left .nav-links a.active {
  color: #71f362;
}
header .nav-left .nav-links a.active:after {
  background: #71f362;
}
header .nav-left .nav-links a + a {
  margin-left: 3em;
}
header .nav-left .nav-links a .mask {
  position: relative;
  display: block;
  overflow: hidden;
  height: 1.4em;
  line-height: 1.2;
}
header .nav-left .nav-links a .text {
  display: block;
  transform: translateY(0%);
  transition: all 0.8s cubic-bezier(0.7, 0, 0.3, 1);
  transition-delay: -0.05s;
}
header .nav-left .nav-links a .text--hover {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(140%) rotate(11deg);
  transition-delay: 0s;
}
header .nav-left .nav-links a:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;
  width: calc(100% - 4px);
  background: #fff;
  height: 1px;
  transition: transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scaleX(0);
  transform-origin: right;
  transition-delay: -0.05s;
}
header .nav-left .nav-links a:hover:after {
  transition: transform 0.5s cubic-bezier(0.08, 0.92, 0.35, 1);
  transform: scaleX(1);
  transform-origin: left;
  transition-delay: 0.05s;
}
header .nav-left .nav-links a:hover .text {
  transform: translateY(-100%);
}
header .nav-left .nav-links a:hover .text--hover {
  transform: translateY(0%);
}
header .nav-right {
  display: flex;
  gap: 1em;
  z-index: 1;
}
header .nav-right button {
  padding: 0.6em 1em;
  border: 0;
  color: #2c0855;
  background-color: #cdcbc9;
  cursor: pointer;
  border-radius: 2em;
  font-weight: bold;
}
